The Global Positioning System (GPS) is a multi-satellite based radio positioning system. The GPS system consists of a number of orbiting satellites positioned in a "constellation" such that at least four satellites are observable by a user almost anywhere on the earth's surface. Each satellite transmits signals on two radio frequencies known as L1 (1,575.42 Megahertz) and L2 (1,227.6 Megahertz) using spread spectrum techniques and employing two types of spread functions. The L1 frequency range carries C/A and Pseudo random noise (PRN) codes and the L2 frequency range carries P codes. Both P and C/A codes contain data that enables a receiver to determine the distance between a broadcasting satellite and an antenna receiving the radio signals. Both the P and C/A codes include navigation (nav) messages. These nav messages include (1) GPS system times, (2) handover words used in connection with transitions from C/A codes to P code tracking, and (3) FVMS ephemeris data (timing data) for the particular satellite being tracked and the almanac data for all satellites in the constellation. Thus in summary, the nav messages contain satellite positioning data as well as data on clock timing, the so-called "ephemeris" data. An antenna receives the satellite signal and a GPS receiving unit converts the satellite signal into digital data. A GPS processing circuit processes the digitized ephemeris data for a multiplicity of satellites to compute the location of the antenna receiving the ephemeris data.
GPS processing circuits typically perform two principle functions: (1), the circuit computes pseudo ranges to the various GPS satellites and (2), the circuit computes the position of the antenna receiving the GPS signals using the pseudo ranges, the satellite timing and ephemeris data. Pseudo ranges are merely time delays measured between the received signal from each satellite and a local clock. Satellite ephemeris and timing data is extracted from the GPS signal over a period of time, the period of time typically ranges from 30 seconds to several minutes. In order to compute the satellite ephemeris data and timing data, a reasonably good signal level is required in order to achieve low error rates.
When designing a GPS processing circuit, test data is needed to test the circuit. Simulators have been used to produce RF signals containing test data. The RF signals go through a RF section and then to the GPS processing circuit. Simulators generate test data based on mathematical models. Models can simulate real world data, but this data is inherently oversimplified. One problem is that simulated data typically does not include all of the artifacts that are present in "Real World" data. For example, simulated data typically does not contain many of the low signal levels, dropouts, and multipath interferences encountered in the actual use of GPS processing circuits. Dropouts occur when a moving antenna passes underneath a bridge, etc., or a signal from the satellite is blocked by foilage. Multipath interference occurs when signals are reflected off buildings, etc. Simulating such a variety of factors is impractical. Thus, simulator data testing alone is insufficient. After simulation testing, the GPS processing circuit is typically taken on a "road test" wherein the GPS processing circuit is coupled to a GPS receiving unit and antenna. The entire system is then tested as a mobile unit transports the receiving unit, antenna and processing circuit along a predetermined route to obtain "real world" data which is not restricted by the inaccuracies of any mathematical model.
"Road testing" a GPS system to determine the performance of a GPS processing circuit has several disadvantages. A first disadvantage is that road tests are time consuming and thus expensive. A second disadvantage is that the test is not repeatable. Even when the mobile unit takes the same route, the satellite constellation producing the GPS signal will have changed. Furthermore, weather conditions, traffic conditions, satellite constellation blockage, and switching due to skyscrapers, large buildings and structures, which might occur during a "road test" affect the quality of the GPS radio signal that is received. These variables make it almost impossible to receive exactly the same signals on different road tests making it difficult to compare the performance of a first GPS processing circuit tested in a first road test with a second GPS processing circuit tested on a subsequent road test. The non-repeatability of the road tests require that the tests be repeated many times over an extended time period to average out the variables.
Thus an improved method of generating GPS test data and testing GPS processing circuits is needed.